【まとめ】iOS 9 週連続 Bootcampを開催しました! #cm_ios9
iOS 9 週連続 Bootcampとは?
こんにちは!おおはしりきたけです。2015年9月30日(水)から11月25日(水)まで毎週水曜日クラスメソッド主催でiOS 9 週連続 Bootcampという勉強会を開催させていただきました。
日本時間9/10日のAppleのイベントでiOS 9が日本時間の9月17日にリリースされ、クラスメソッドでは、リリースの度に最新iOSに関してのブログを書いていました。iOS 7の時は70本、iOS 8の場合は200本というブログを書きましたが、iOS 9では900本ですか?という話をよく聞かれましたが、今回はブログではなく、9にちなんで、9週連続勉強会という形で開催させていただきました。
iOS 9 週連続 Bootcampではクラスメソッドのメンバーだけではなく、豪華なゲストスピーカーの方にも登壇していただき、iOS 9に関する様々なお話をしていただきました。
ゲストスピーカーの方々
- 岸川 克己さん@Realm
- 堤 修一さん@フリーランス
- 酒多 優太さん@Retty株式会社
- 北 裕介さん@株式会社メルカリ
- 三木 康暉さん@クックパッド株式会社
- 熊谷 友宏さん@EZ-NET
- 佐野 岳人さん@ヤフー株式会社
- 安達 彰典さん@株式会社Gunosy
- 三橋 正典さん@株式会社グッドパッチ
会場
会場は、dots.さんを利用させていただきました提供していてだきました!おしゃれな会場です!
写真は開始前の会場の様子。
毎回大盛況でした!
セッションレポート
全セッションのレポートは、クラスメソッドブログに公開されています。まとめとレポートへのリンクを以下に記載させていただきます。
1週目:iOS 9 Overviewの概要編と実践編
- iOS 9 Overview【概要編】:山本@クラスメソッド
- Safariの閲覧サイトをPDFでiBookに保存できる!
- フォントがSan Franciscoに変更!
- iOS 9では、iPhone4sとiPad2が対象
- iOS 9 Overview【実践編】:岸川@Realm
- UIStackView へ切り替えることでメンテしやすくなりそう!
- StoryBoradが分割できるようになった!
- Spotlightの検索結果にサードパーティのアプリの内容を表示することが可能に!!
2週目:iOSにおけるサウンド処理&画像処理2015
- iOSにおけるサウンド処理2015:田宮@クラスメソッド
- Audio Unit ExtentionはiOS 9で追加されたExtentionpointで、Audio Unitをアプリ間で共有できる!
- AVAudioSessionModeSpokenAudioは声コンテンツが他アプリの音声の妨げにならない仕組み!
- iOSにおける画像処理2015:堤さん@フリーランス
- GPUで高速処理されるブラーフィルタが手軽に使える!
- Appleが大好きなブラーを使ったUIが実現しやすくなった!
3週目:Contacts.frameworkとwatchOS2
- AddressBookからContactsへ:田中 孝明@クラスメソッド
- RecodeIDとIdentifierには互換性がない!
- Contacts.frameworkはiOS 9から!
- 可能性が広がるWatchApp開発:酒多さん@Retty
- pushすることを忘れない!!!
- Watch App Extensionがネイティブで動くようになった!
4週目:tvOS&Search APIs
- tvOSをさわってみよう:田中 圭介@クラスメソッド
- TVMLとjavascriptでプログラムがかける!
- Parallax Artworkは必須!
- Search APIs & Universal Links :北さん@メルカリ
- Webと連携してディープリンクを貼れる!
- Sportlight経由などで検索可能!
5週目:MapKit & watchOS2でゲーム開発
- MapKit Framework!!:平井@クラスメソッド
- Flyoverは使いどころ難しいけどカッコイイ!
- コンパスとスケールバーが表示できるようになった!
- Apple Watch + watchOS2でゲーム開発してみた話 :三木さん@クックパッド
- watchOS 2になっても制約は多い!
- でも頑張ると色々できる!
6週目:UIKit & Xcode 7
- iOS 9 の UIKit:平屋@クラスメソッド
- UIStackView/NSLayoutAnchor/UILayoutGuideはiOS 9から利用可能
- NSLayoutAnchorで制約を設定するコードが読みやすくなる
- Xcode 7 の新しいところ:熊谷さん@EZ-NET
- UIテスト、コードカバレッジ、ドキュメントコメントが便利
- テキストの装飾やページ移動のリンクが貼れるので、のでPlaygroundコメントの可能性が広がる
7週目:Swift2.x、Scala、Haskell
- Swift2.xをScalaから見る:安達@クラスメソッド
- Swiftではprotocol extensionのSelfへの制約によって対象のクラスを制限できる
- Swiftではグローバル変数や定数は自動で遅延評価される。
- 反変 contravariant 型引数は、型引数の派生順序が反転する
- objc2swift 〜 機械がやればいいこととエンジニアが学ぶべきこと:佐野さん@ヤフー
- ANTLR を使って、文法ファイルを渡すとパーサーが作れる
- optionalは長さが0または1のArray と考えると本質が見える
8週目:iOS 9とXcode 7で始めるCIとマルチタスキングを使ったiPadプロダクト開発
- iOS 9とXcode 7で始める継続的インテグレーション(CI):諏訪@クラスメソッド
- 最初から全部はできないからできる所からやっていこう!
- 機械的な作業は自動化して、価値ある作業に集中しよう!
- Swift2.0、マルチタスキングを使ったiPadアプリ開発:安達さん@Gunosy
- 状態が多いので、QAしやすいように状態を整理するのがオススメ
- コードでビューを制御しようとすると、いっぱい書かないとダメなのでxibやstoryboardに書くのがオススメ
9週目:奥行きを意識したプロダクト-iOS9で変わる体験
- エンジニアとデザイナーのあいだ:横山@クラスメソッド
- エンジニアはデザインの基礎を学ぶ、AutoLayoutから逃げない!
- デザイナーはデザインに対する明確な根拠を持つ、IBをマスタする!
- エンジニアとデザイナーの邪魔するものは何もない!
- 奥行きを意識したプロダクト:三木さん@Goodpatch
- OSから提供されている機能を理解したうえで、ユーザーに複雑と感じさせないように提供する
- 実装を意識したデザインを行い、エンジニアとのコミュニケーションを密にとれる環境を!
まとめ
全9回開催させていただき、応募総数は1241名、参加者数は681名と多くの皆様に参加していただけたことが非常に嬉しいです。広く深く学ぶという意味でBootcampという名前で開しましたが、Bootcampという名にふさわしい勉強会だったのではないかと思っています。9週連続参加していただいた方もいらっしゃいましたし、毎回ツイートして盛り上げてくれる参加者の方、ゲストスピーカーの方、クラスメソッドのスタッフ、会場を提供して頂いたdots.さんに感謝です。次のiOSの時も何かやるので、お楽しみに!